package com.hzw.code.fast.sys.mapper;
import java.util.Date;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzw.code.fast.sys.controller.args.SysRolePageArgs;
import com.hzw.code.fast.sys.controller.args.SysRoleQueryArgs;
import com.hzw.code.fast.sys.dto.SysRoleDto;
import com.hzw.code.fast.sys.dto.page.SysRolePageDto;
import com.hzw.code.fast.sys.entity.SysRoleEntity;
import com.hzw.code.fast.sys.model.SysRoleModel;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;

/**
 * 角色表(SysRole)持久层
 *
 * @author 胡汉三
 * @date 2020-05-20 14:28:24
 */
@Repository
public interface SysRoleMapper extends BaseMapper<SysRoleEntity>{
   
   /**
     * 分页查询
     *
     * @param args ${@link SysRolePageArgs}
     * @param page  ${@link Page}
     * @return IPage<SysRoleDto> ${@link IPage<SysRoleDto>}
     * @author code generation
     * @date 2020-05-20 14:28:24
     */
    IPage<SysRolePageDto> page(Page page, @Param("query") SysRolePageArgs args);


    /**
     * 条件查询多条
     *
     * @param args ${@link SysRoleQueryArgs}
     * @return List<SysRoleDto> ${@link List<SysRoleDto>}
     * @author code generation
     * @date 2020-05-20 14:28:24
     */
    List<SysRoleDto> selectListByModel(SysRoleQueryArgs args);

    /**
     * 根据用户编号查询角色编码
     * @param userId
     * @return
     */
    List<SysRoleModel> getRoleCodeByUserId(@Param("userId") String userId);

}